class Solution {
public:
    // int maxBottlesDrunk(int n, int k) {
    //     int empty=n, ans=n; //刚开始全部喝完
    //     while(empty>=k) //当前剩余空瓶可以换
    //     {
    //         ans++; //本轮空瓶可以换一次
    //         empty-=k-1; //还剩多少个空瓶=新换的+剩的
    //         k++;
    //     }
    //     return ans;
    // }
    int maxBottlesDrunk(int n, int e) {
        int b = e * 2 - 1;
        int k = ((int) sqrt(b * b + (n - e) * 8) - b + 2) / 2;
        return n + k;
    }
};